home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWAPG10.ZIP
/
550.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-08-16
|
4KB
|
349 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
Byte BYTE001
Byte BYTE002
Byte BYTE003
Byte BYTE004
Byte BYTE005
Byte BYTE006
Byte BYTE007
Byte BYTE008
Byte BYTE009
;------------------------------------------------------------------------------
Gosub LABEL008
Gosub LABEL001
End
:LABEL001
Gosub LABEL004
BYTE009 = 7
Gosub LABEL006
BOOLEAN001 = 0
While (BOOLEAN001 == 0) Do
STRING016 = Asc(Inkey())
If (STRING016 == 13) Then
Gosub LABEL005
Continue
Endif
If ((STRING016 == 76) || (STRING016 == 44)) Then
Gosub LABEL007
Dec BYTE009
If (BYTE009 < 1) BYTE009 = 7
Gosub LABEL006
Continue
Endif
If ((STRING016 == 82) || (STRING016 == 46)) Then
Gosub LABEL007
Inc BYTE009
If (BYTE009 > 7) BYTE009 = 1
Gosub LABEL006
Continue
Endif
If ((STRING016 == 72) || (STRING016 == 104)) Then
Gosub LABEL007
BYTE009 = 1
Gosub LABEL003
Continue
Endif
If ((STRING016 == 71) || (STRING016 == 103)) Then
Gosub LABEL007
BYTE009 = 2
Gosub LABEL006
BOOLEAN001 = 1
Continue
Endif
If ((STRING016 == 69) || (STRING016 == 101)) Then
Gosub LABEL007
BYTE009 = 3
Gosub LABEL006
BOOLEAN001 = 1
Continue
Endif
If ((STRING016 == 65) || (STRING016 == 97)) Then
Gosub LABEL007
BYTE009 = 4
Gosub LABEL006
BOOLEAN001 = 1
Continue
Endif
If ((STRING016 == 76) || (STRING016 == 108)) Then
Gosub LABEL007
BYTE009 = 5
Gosub LABEL006
BOOLEAN001 = 1
Continue
Endif
If ((STRING016 == 80) || (STRING016 == 112)) Then
Gosub LABEL007
BYTE009 = 6
Gosub LABEL006
Delay 5
If (Exist(STRING015)) Then
Call STRING015
Gosub LABEL004
Gosub LABEL006
Goto LABEL002
Endif
BOOLEAN001 = 1
:LABEL002
Continue
Endif
If ((STRING016 == 67) || (STRING016 == 99)) Then
Gosub LABEL007
BYTE009 = 7
Gosub LABEL006
BOOLEAN001 = 1
Continue
Endif
If (STRING016 == 27) Then
Gosub LABEL007
BYTE009 = 4
Gosub LABEL006
BOOLEAN001 = 1
Endif
EndWhile
Gosub LABEL005
Return
:LABEL003
If (Exist(PPEPath() + "550HELP.PCB")) Then
DispFile PPEPath() + "550HELP.PCB", 0
Else
PrintLn "@X0CSorry, no help is available"
Endif
Gosub LABEL004
Gosub LABEL006
Return
:LABEL004
Print ReadLine(PPEPath() + "550.CFG", 1)
BYTE001 = GetY()
BYTE002 = GetX()
Print STRING001 + " "
BYTE003 = GetX()
Print STRING002 + " "
BYTE004 = GetX()
Print STRING003 + " "
BYTE005 = GetX()
Print STRING004 + " "
BYTE006 = GetX()
Print STRING005 + " "
BYTE007 = GetX()
Print STRING006 + " "
BYTE008 = GetX()
Print STRING007
Return
:LABEL005
Select Case (BYTE009)
Case 1
Gosub LABEL003
Case 2
Newline
KbdStuff "G"
End
Case 3
Newline
KbdStuff "E"
End
Case 4
Newline
KbdStuff "A"
End
Case 5
Newline
KbdStuff "L"
End
Case 6
If (Exist(STRING015)) Then
Call STRING015
Gosub LABEL004
Gosub LABEL006
Else
Newline
KbdStuff "P"
End
Endif
Case 7
Newline
KbdStuff Chr(13)
End
End Select
Return
:LABEL006
Select Case (BYTE009)
Case 1
Print Chr(13)
Forward BYTE002 - 1
Print STRING008
Case 2
Print Chr(13)
Forward BYTE003 - 1
Print STRING009
Case 3
Print Chr(13)
Forward BYTE004 - 1
Print STRING010
Case 4
Print Chr(13)
Forward BYTE005 - 1
Print STRING011
Case 5
Print Chr(13)
Forward BYTE006 - 1
Print STRING012
Case 6
Print Chr(13)
Forward BYTE007 - 1
Print STRING013
Case 7
Print Chr(13)
Forward BYTE008 - 1
Print STRING014
End Select
Return
:LABEL007
Select Case (BYTE009)
Case 1
Print Chr(13)
Forward BYTE002 - 1
Print STRING001
Case 2
Print Chr(13)
Forward BYTE003 - 1
Print STRING002
Case 3
Print Chr(13)
Forward BYTE004 - 1
Print STRING003
Case 4
Print Chr(13)
Forward BYTE005 - 1
Print STRING004
Case 5
Print Chr(13)
Forward BYTE006 - 1
Print STRING005
Case 6
Print Chr(13)
Forward BYTE007 - 1
Print STRING006
Case 7
Print Chr(13)
Forward BYTE008 - 1
Print STRING007
End Select
Return
:LABEL008
STRING015 = ReadLine(PPEPath() + "550.CFG", 2)
STRING001 = ReadLine(PPEPath() + "550.CFG", 3)
STRING002 = ReadLine(PPEPath() + "550.CFG", 4)
STRING003 = ReadLine(PPEPath() + "550.CFG", 5)
STRING004 = ReadLine(PPEPath() + "550.CFG", 6)
STRING005 = ReadLine(PPEPath() + "550.CFG", 7)
STRING006 = ReadLine(PPEPath() + "550.CFG", 8)
STRING007 = ReadLine(PPEPath() + "550.CFG", 9)
STRING008 = ReadLine(PPEPath() + "550.CFG", 10)
STRING009 = ReadLine(PPEPath() + "550.CFG", 11)
STRING010 = ReadLine(PPEPath() + "550.CFG", 12)
STRING011 = ReadLine(PPEPath() + "550.CFG", 13)
STRING012 = ReadLine(PPEPath() + "550.CFG", 14)
STRING013 = ReadLine(PPEPath() + "550.CFG", 15)
STRING014 = ReadLine(PPEPath() + "550.CFG", 16)
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 7 End
; 68 Goto
; 43 Let
; 36 Print
; 1 PrintLn
; 38 If
; 1 DispFile
; 33 Gosub
; 7 Return
; 1 Delay
; 1 Inc
; 1 Dec
; 6 Newline
; 6 KbdStuff
; 2 Call
; 14 Forward
;
;
; ■ Functions used :
;
; 24 +
; 14 -
; 42 ==
; 1 <
; 1 >
; 36 !
; 9 ||
; 15 Chr()
; 1 Asc()
; 1 Inkey()
; 18 PPEPath()
; 16 ReadLine()
; 3 Exist()
; 7 GetX()
; 1 GetY()
;
;------------------------------------------------------------------------------
;
; Analysis flags : C
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 1 While/EndWhile
; 14 If/Then or If/Then/Else
; 3 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------